<?php
/*
 * [JINYUN!] (C)2001-2099 Jinyunweb.com
 * This is NOT a freeware, use is subject to license terms
 * $Id: 2017-12-13 03:39:35 apple $
*/
defined('BY_JYA') or exit('error');
$_RQ['op']=$_RQ['op']?$_RQ['op']:'get';
$return=array();

if($_RQ['op']=='get'){
	$item=uni_setting('pay');
	$return['wechats']=pdo_getall('core_account_wechat',array('uniacid'=>$_SESSION['uniacid']),array('appid','title'));
	$return['wechat_types']=array(
		'0'=>'普通商户支付',
		'1'=>'服务商支付',
	);
	$return['item']=$item?$item:array();
	$account_host=get_account_url();
	$account_tp=str_replace('http://','',$account_host).'custom/';
	$account_url=str_replace('http://','',$account_host).'custom/payresult/wechat_notify.php';
	//检查证书是否上传
	$cert_remark=$key_remark='（待上传）';
	if($item['wechat_mchid']){
		if(is_file(ROOT_AT."certs/{$_SESSION['uniacid']}/{$item['wechat_mchid']}_cert.pem")){
			$cert_remark='（已上传）';
		}
		if(is_file(ROOT_AT."certs/{$_SESSION['uniacid']}/{$item['wechat_mchid']}_key.pem")){
			$key_remark='（已上传）';
		}
	}
	$install = check_permission('jy_alipay');
	$alipaytip=$install?'已安装《支付宝接口》插件，可以使用支付宝支付功能！1、移步支付宝开放平台：https://openhome.alipay.com/ 选择开发者身份登录；2、创建应用（网页&移动应用）；3、应用信息--获取密钥信息，设置白名单！':'【<red>温馨提示</red>】：<red>必须安装《支付宝接口》插件才行！</red>';
	$htmls=array(
		'type'=>'edit',
		'post'=>'post',
		'desc'=>'设置支付参数',
		'edit_tab'=>true,
		'edits'=>array(
			array(
				'title'=>'余额支付',
				'list'=>array(
					array('type'=>'switch','title'=>'货到付款','name'=>'hdfk'),
					array('type'=>'switch','title'=>'余额支付','name'=>'credit','help'=>'关闭余额支付时，充值功能也将关闭！'),
					array('type'=>'array_simple','title'=>'余额充值赠送设置','name'=>'credit_activitys','fields'=>array(
						array('type'=>'string','name'=>'condition','title'=>'充值金额（元）'),
						array('type'=>'string','name'=>'money','title'=>'赠送金额（元）'),
					)),
			)),
			array(
				'title'=>'微信支付',
				'list'=>array(
					array('type'=>'tip','title'=>'【<red>温馨提示</red>】：一定要在微信支付商户后台配送好微信支付的回调域名，否则不能正常支付回调！<br>1,JSAPI支付授权目录：'.$account_tp.'<br> 2,扫码回调链接：'.$account_url),
					array('type'=>'switch','title'=>'微信支付','name'=>'wechat','help'=>'开启微信支付后，请将下面的支付授权目录填至微信公众平台；<br>(否则支付成功后：可能订单状态还是未支付)：<br>1,JSAPI支付授权目录：'.$account_tp.'<br> 2,扫码回调链接：'.$account_url),
					array('type'=>'switch','title'=>'微信H5支付','name'=>'wechat','help'=>'开启微信支付，同时就开启了H5支付，用以微信之外环境实现支付，需另外移步:微信商户平台->产品中心->产品大全->我的产品->H5支付配置的域名'),
					array('type'=>'radio','title'=>'微信支付类型','name'=>'wechat_type','options'=>'wechat_types','show'=>array('wechat',1)),
					array('type'=>'select','title'=>'选择支付公众号','name'=>'wechat_appid','options'=>'wechats','show'=>array('wechat'=>1,'wechat_type !='=>1),'option_value'=>'appid'),
					array('type'=>'string','title'=>'微信支付商户号','name'=>'wechat_mchid','show'=>array('wechat'=>1,'wechat_type !='=>1)),
					array('type'=>'string','title'=>'服务商appid','name'=>'wechat_appid','show'=>array('wechat'=>1,'wechat_type'=>1),'help'=>'主服务商appid'),
					array('type'=>'string','title'=>'服务商商户号','name'=>'wechat_mchid','show'=>array('wechat'=>1,'wechat_type'=>1),'help'=>'主服务商mch_id'),
					array('type'=>'select','title'=>'子商户公众号','name'=>'wechat_sub_appid','options'=>'wechats','show'=>array('wechat'=>1,'wechat_type'=>1),'option_value'=>'appid','help'=>'[<red>温馨提示</red>]:这边必须选择子商户的公众号，不能选择主公众号或其他普通公众号，子商户sub_appid配置流程：https://kf.qq.com/faq/190715yaYnYv1907153mmIbA.html'),
					array('type'=>'string','title'=>'子商户号','name'=>'wechat_sub_mchid','show'=>array('wechat'=>1,'wechat_type'=>1),'help'=>'子商户sub_mch_id'),
					array('type'=>'string','title'=>'商户支付密钥','name'=>'wechat_miyue','show'=>array('wechat'=>1),'help'=>'如果是服务商支付，此处填写服务商支付密钥'),
					array('type'=>'upfile','title'=>'CRET证书文件'.$cert_remark,'name'=>'cert_file','show'=>array('wechat',1),'help'=>'下载证书 cert.zip 解压后，上传 apiclient-cert.pem 文件。'),
					array('type'=>'upfile','title'=>'KEY密钥文件'.$key_remark,'name'=>'key_file','show'=>array('wechat',1),'help'=>'下载证书 cert.zip  解压后，上传 apiclient-key.pem 文件。'),	
			)),
			array(
				'title'=>'支付宝支付',
				'list'=>array(
					array('type'=>'tip','title'=>$alipaytip),
					array('type'=>'switch','title'=>'支付宝支付','name'=>'alipay','help'=>'如需开启支付宝支付，请前往支付宝开放平台，用支付宝账号登陆并创建应用，开通需要的功能，以获得相关参数'),
					array('type'=>'string','title'=>'支付宝应用appid','name'=>'alipay_appid','show'=>array('alipay',1)),
					array('type'=>'text','title'=>'支付宝应用私钥','name'=>'alipay_private_key','show'=>array('alipay',1),'help'=>'支付宝开放平台创建应用成功后，进入应用设置应用加签方式，设置应用公钥。使用密钥生成器(工具安装：https://opendocs.alipay.com/open/291/105971#Krqvg，选择：RSA2，PKCS1(非JAVA适用))生成一对密钥，将私钥填至此处，将公钥填于支付宝开放平台！'),
					array('type'=>'text','title'=>'支付宝公钥','name'=>'alipay_public_key','show'=>array('alipay',1),'help'=>'成功设置应用私钥后，可以在同一个地方查看支付宝公钥，复制到此处！'),
			)),
			array(
				'title'=>'银联支付',
				'list'=>array(
					array('type'=>'switch','title'=>'银联支付','name'=>'yinlian'),
					array('type'=>'text','title'=>'商户私钥证书','name'=>'yinlian_siyue','show'=>array('yinlian',1)),
					array('type'=>'string','title'=>'商户私钥证书密码','name'=>'yinlian_passwd','show'=>array('yinlian',1)),
					array('type'=>'string','title'=>'银联商户号','name'=>'yinlian_mchid','show'=>array('yinlian',1)),
			)),
			array(
				'title'=>'其他虚拟币',
				'list'=>array(
					array('type'=>'switch','title'=>'开启金币交易','name'=>'credit3'),
					array('type'=>'string','title'=>'金币重命名','name'=>'credit3_title','show'=>array('credit3',1)),
					array('type'=>'string','title'=>'金币交易比例','name'=>'credit3_rate','show'=>array('credit3',1),'help'=>'默认1：1交易，填10表示：10：1交易（10个等于1元）'),
					array('type'=>'switch','title'=>'开启元宝交易','name'=>'credit4'),
					array('type'=>'string','title'=>'元宝重命名','name'=>'credit4_title','show'=>array('credit4',1)),
					array('type'=>'string','title'=>'元宝交易比例','name'=>'credit4_rate','show'=>array('credit4',1),'help'=>'默认1：1交易，填10表示：10：1交易（10个等于1元）'),
					array('type'=>'switch','title'=>'开启备用金交易','name'=>'credit5'),
					array('type'=>'string','title'=>'备用金重命名','name'=>'credit5_title','show'=>array('credit5',1)),
					array('type'=>'string','title'=>'备用金交易比例','name'=>'credit5_rate','show'=>array('credit5',1),'help'=>'默认1：1交易，填10表示：10：1交易（10个等于1元）'),
					array('type'=>'switch','title'=>'开启R币交易','name'=>'credit6'),
					array('type'=>'string','title'=>'R币重命名','name'=>'credit6_title','show'=>array('credit6',1)),
					array('type'=>'string','title'=>'R币交易比例','name'=>'credit6_rate','show'=>array('credit6',1),'help'=>'默认1：1交易，填10表示：10：1交易（10个等于1元）'),
			)),
			/*array(
				'title'=>'快捷支付-线下版',
				'list'=>array(
					array('type'=>'switch','title'=>'开启快捷支付','name'=>'vip8pay'),
					array('type'=>'string','title'=>'门店ID','name'=>'vip8_shopid','help'=>'门店shopid，移步第三方平台https://vip.8173888.com/注册后，找第三方客服提供！'),
					array('type'=>'string','title'=>'门店密钥','name'=>'vip8_key','help'=>'门店密钥key'),
					array('type'=>'string','title'=>'商家应用ID','name'=>'vip8_uniacid','help'=>'商家应用uniacid'),
					array('type'=>'string','title'=>'商家组ID','name'=>'vip8_groupid','help'=>'商家组groupid'),
			)),*/
		)
	);
	
	$return['htmls']=$htmls;
	exi($return);
}
if($_RQ['op']=='post'){
	$postdata=get_postdata();
	//检查关键参数是否设置
	if($postdata['wechat'] && !$postdata['wechat_mchid']){
			exi('请设置微信支付商户号','error');
	}
	if($postdata['wechat'] && !$postdata['wechat_appid']){
			exi('选择微信支付公众号','error');
	}
	if($postdata['wechat'] && !$postdata['wechat_miyue']){
			exi('请设置微信商户支付密钥','error');
	}
	if($postdata['wechat'] && $postdata['wechat_type'] && !$postdata['wechat_sub_mchid']){
			exi('请设置微信子商户号','error');
	}
	if($postdata['cert_file']){
		$data=cfc('files')->source_read($postdata['cert_file']);
		cfc('files')->source_del($postdata['cert_file']);
		cfc('files')->mkdirs(ROOT_AT."certs/{$_SESSION['uniacid']}");
		$cert_file=ROOT_AT."certs/{$_SESSION['uniacid']}/{$postdata['wechat_mchid']}_cert.pem";
		file_put_contents($cert_file,$data);
		unset($postdata['cert_file']);
	}
	if($postdata['key_file']){
		$data=cfc('files')->source_read($postdata['key_file']);
		cfc('files')->source_del($postdata['key_file']);
		cfc('files')->mkdirs(ROOT_AT."certs/{$_SESSION['uniacid']}");
		$key_file=ROOT_AT."certs/{$_SESSION['uniacid']}/{$postdata['wechat_mchid']}_key.pem";
		file_put_contents($key_file,$data);
		unset($postdata['key_file']);
	}
	uni_setting('pay',$postdata);
	exi('设置成功！');
}